Test Case
 
Test Case Id:TC_PHYS_INQ_BV_02
Test Group Reference:INQ/
Purpose:Verify that the IUT as the initiator of the inquiry uses the correct inquiry hopping sequence when discovering which other Bluetooth devices are in range.
Only for IUTs supporting inquiry and using the 23-channel hopping scheme.

The test shall verify that
a) the IUT uses the general inquiry access code (GIAC) and its native clock CLKN to determine the inquiry hopping sequence
b) the IUT sequentially transmits on 2 different hop frequencies during each TX slot
c) the inquiry trains A and B are repeated at least Ninquiry = 256 times
d) at least 4 trains are transmitted subsequently
e) One inquiry instance is stopped latest when inquiryTO is reached
f) If repeated periodically, the interval between two inquiry procedures is determined randomly.
Configuration:BB_config
Defaults: 
Comments:Standard Reference:
1.C.47: "Specification of the Bluetooth System",1.1, Part B: "Baseband Specification", sections 9.5, 10.7.3 and 11.3.4.

Reference to selection criteria:
23.B.302/0.91: Bluetooth ICS and IXIT proforma, Annex B: "PICs Proforma for BB", Table: B:10 Item:3, Table: B:10 Item:5

20.B.354/0.91: Bluetooth Test Specification, Part B: "Test Suite Structure (TSS) and Test Purposes (TP)
For Baseband", Section 5.6.1.1.2 "TP/PHYS/INQ/BV-01"

There are 2 different sub steps for this test.
1) test uses GIAC
2) test uses reserved LAP for dedicated inquiry (only performed if IUT supports this feature)
 
Nr Label Behaviour Description Constraint Ref Verdict Comments
1   +IP_tester_bb     initialise tester
2     (TCV_test_repetition_counter := 1,
TCV_exit := 0, TCV_max_test_steps:=2,TCV_config_with_lc_component:=TRUE)
    The loop is repeated twice: one for GIAC and one for supported DIAC
3     REPEAT LTS_loop_test UNTIL [ (TCV_test_repetition_counter > TCV_max_test_steps) OR (TCV_exit <>0)]      
4       [TCV_exit <>0]     something went wrong during the loop
5 TB01      [TCV_test_repetition_counter = 1]   R error in first step
6 TB02      [TCV_test_repetition_counter = 2]   R error in second step
7 TB03     [TCV_exit = 0]   R loop was finished
LTS_loop_test
8   +LTS_define_test_parameters     depending on the value of the repetition the parameters for the test are initialised
9    CREATE (P_TCI:LT_tci ( TCV_lap ))     Creation of the real time PTC (P_TCI)
10     +TS_control_iut_initialisation_mtc     if initialisation fails, the test will be finished
11      CREATE (
P_LM: LT_lm ( TCV_n_inquiry, TCV_lap, TCV_tso_id),
P_LC: TS_inquiry_hopp_sequence_23_p_lc (
TCV_lap, TCV_n_inquiry,
TCV_tso_id))
    Creation of the real time PTC (P_LM) and the postprocessing PTC (P_LC)
12       ACTIVATE (DF_testbody_mtc (TCV_config_with_lc_component))      
13        START T_guard_var (400)      
14         CP_LM ? CM_CONTINUE Cm_start_inquiry   LM notifies LC that it can start the inquiry scan
15          CP_LC ! CM_CONTINUE Cm_start_inquiry    
16           CP_LC ? CM_CONTINUE Cm_start_inquiry   LC notifies TCI that it can change from inquiry scan ...
17            CP_TCI ! CM_CONTINUE Cm_start_inquiry   ... to inquiry
18             ? DONE (P_TCI, P_LM,P_LC) CANCEL T_guard_var     finalization of PTCs
19               [R <> pass]     If the verdict is not pass
20                (TCV_exit := 1)     the test will be finished
21               [R = pass]     If the verdict is pass ...
22                (TCV_test_repetition_counter := TCV_test_repetition_counter + 1)     ... increase counter
LTS_define_test_parameters
23    [TCV_test_repetition_counter = 1]      
24     (TCV_lap := TSC_lap_giac, TCV_n_inquiry := 256, TCV_tso_id := TSC_standard_tso_id)     First test step uses GIAC, standard TSO ID and Ninquiry=256 (trains A and B are repeated at least Ninquiry)
25    [TCV_test_repetition_counter = 2]      
26     (TCV_lap := TSPX_supported_diac, TCV_tso_id := TSO_int_to_oct (TSO_oct_to_int (TCV_tso_id) + 1, 2))     Second test step uses DIAC (a PIXIT value that must be in the range of 0x9E8B01-0x9E8B32 and 0x9E8B34-0x9E8B3F), the former TSO ID +1 and the same Ninquiry.
LT_lm ( var_n_inquiry:INTEGER; var_lap:LAP; var_tso_id:TSO_ID)
27   +LTS_bb_inquiry_iut_slave     tester performs inquiry to determine the clk_offset to IUT
28    ACTIVATE (DF_termination_p_lm)      
29      (TCV_tso_bool_result := TSO_set_tester_clock (TSC_clk_type_clk_offset, TCV_clock_offset_to_iut))     The clock offset is added to the testers clk to be able to follow the inquiry train
30      CP_LM ! CM_TSO_RESULT Cm_tso_result (TCV_tso_bool_result)   If TSO failed, the MSC will finish the test
31       CP_LM ! CM_CONTINUE Cm_start_inquiry   from now on the IUT shall initiate inquiry
32        (TCV_tso_bool_result := TSO_monitor_inquiry_trains(var_tso_id, var_lap, 1, var_n_inquiry, TSC_start_scan_offset, 5))
    Start inquiry scan with A train at start frequency TSC_start_scan_offset and continue scanning till 5 inquiry instances have been finished (the IUT performs periodic inquiry).
33        (TCV_tso_bool_result := TSO_monitor_inquiry_trains(var_tso_id, var_lap, 1, var_n_inquiry, TSC_start_scan_offset))
    Start inquiry scan with A train at start frequency TSC_start_scan_offset and continue scanning till 5 inquiry instances have been finished (the IUT performs periodic inquiry).
34         CP_LM ! CM_TSO_RESULT Cm_tso_result (TCV_tso_bool_result)   If TSO failed, the MSC will finish the test
LTS_bb_inquiry_iut_slave
35    [TSPC_supports_inquiry_scan_79_channel OR TSPC_supports_inquiry_scan_23_channels]     if the IUT supports inquiry scan ....
36    ACTIVATE (DF_inquiry_page_p_lm)      
37     LC ! LM_LC_INQUIRY_REQ Lm_lc_inquiry_req (
TSC_lap_giac)
  set LT in Inquiry mode (with GIAC)
38      LC ? LM_LC_INQUIRY_CFM Lm_lc_inquiry_cfm (TSC_confirm_ind_ok)   the start of the Inquiry mode is performed
39       LC ? LM_LC_INQUIRY_IND (TCV_clock_offset_to_iut:=TSO_set_clock_offset_bit_15_to_1 (LM_LC_INQUIRY_IND.clock_offset)) Lm_lc_inquiry_ind (TSC_confirm_ind_ok, TSPX_bd_addr_iut, TSPX_class_of_device_iut, ?, ?, ?, ?)   Inquiry_responses of other devices are filtered out using the default.
40        LC ! LM_LC_STOP_INQUIRY_REQ Lm_lc_stop_inquiry_req   stop inquiry
41 TB04       LC ? LM_LC_STOP_INQUIRY_CFM Lm_lc_stop_inquiry_cfm (TSC_confirm_ind_ok) (P)  
42    [NOT (TSPC_supports_inquiry_scan_79_channel OR TSPC_supports_inquiry_scan_23_channels)]     Inquiry scan is not supported
LT_tci ( var_lap:LAP)
43   ACTIVATE (DF_termination_p_tci, DF_testbody_p_tci)      
44    +IP_iut_temporary_inquiry_scan_p_tci     initialisation procedure for the IUT. The IUT will be temporary initialised for inquiry scan to enable the tester to get the clk offset.
45     CP_TCI ? CM_CONTINUE Cm_start_inquiry   P_lm has the clock_offset. The IUT now shall be configured to start inquiry
46      +PR_iut_stop_inquiry_scan_and_start_inqiry_p_tci (var_lap)     The iut performs a periodic inquiry till 5 sequences and after that, this procedure is finished.
 
Detailed Comment: 
Generated by Leonardo Delta 1.06 (Da Vinci Communications Ltd)